package com.xian.d9_abstract_template;

/**
 * 模板方法我们是建议使用final修饰的，这样会更专业，那么为什么呢?
 * 答:模板方法是给子类直接使用的，不是让子类重写的，
 * 一旦子类重写了模板方法，则模板方法就失效了，因此，加上final后可以
 * 防止子类重写了模板方法，这样更安全、专业。
 *
 *
 * 理解模板方法:写作文案例
 * 需求:
 * 现在有两类学生，一类是中学生，一类是初中生，他们都要写《我的爸爸》这篇作文。
 * 要求每种类型的学生，标题第一段和最后一段，内容必须一样。
 * 正文部分自己发挥。请选择最优的面向对象方案进行设计。
 */
public class Test {
    public static void main(String[] args) {
        //目标:理解模板方法模式的思想和使用步骤。
        StudentMiddle s = new StudentMiddle();
        s.write();

        StudentChild s2 = new StudentChild();
        s2.write();

    }
}
